A reverse-engineering approach to subsystem structure identification
نویسندگان
چکیده
SUMMARY Reverse engineering is the process of extracting system abstractions and design information out of existing software systems. This process involves the identiication of software artifacts in a particular subject system, the exploration of how these artifacts interact with one another, and their aggregation to form more abstract system representations that facilitate program understanding. This paper describes our approach to creating higher-level abstract representations of a subject system, which i n v olves the identiication of related components and dependencies, the construction of layered subsystem structures, and the computation of exact interfaces among subsystems. We show h o w top-down decompositions of a subject system can be reconstructed via bottom-up subsystem composition. This process involves identifying groups of building blocks e.g., variables, procedures, modules, and subsystems using composition operations based on software engineering principles such a s l o w coupling and high cohesion. The result is an architecture of layered subsystem structures. The structures are manipulated and recorded using the Rigi system, which consists of a distributed graph editor and a parsing system with a central repository. The editor provides graph lters and clustering operations to build and explore subsystem hierarchies interactively. The paper concludes with a detailed, step-by-step analysis of a 30-module software system using Rigi.
منابع مشابه
Reverse Engineering of Network Software Binary Codes for Identification of Syntax and Semantics of Protocol Messages
Reverse engineering of network applications especially from the security point of view is of high importance and interest. Many network applications use proprietary protocols which specifications are not publicly available. Reverse engineering of such applications could provide us with vital information to understand their embedded unknown protocols. This could facilitate many tasks including d...
متن کاملAnalysis of New Laser Warning Technologies to Propose a New Optical Subsystem
In this paper, after a brief overview on laser warning system (LWS), a new structure for an optical array that is used in its optical subsystem is introduced. According to the laser threats’ wavelengths (0.5 – 1.6 µm) and our desirable field of view (FOV), we used 6 lenses for gathering the incident radiation and then optimized the optical array. Lenses’ radius, their se...
متن کاملAn effective approach for damage identification in beam-like structures based on modal flexibility curvature and particle swarm optimization
In this paper, a computationally simple approach for damage localization and quantification in beam-like structures is proposed. This method is based on using modal flexibility curvature (MFC) and particle swarm optimization (PSO) algorithm. Analytical studies in the literature have shown that changes in the modal flexibility curvature can be considered as a sensitive and suitable criterion for...
متن کاملProgrammable Reverse Engineering
Program understanding can be enhanced using reverse engineering technologies. The understanding process is heavily dependent on both individuals and their speci c cognitive abilities, and on the set of facilities provided by the program understanding environment. Unfortunately, most reverse engineering tools provide a xed palette of extraction, selection, and organization techniques. This paper...
متن کاملMining Co-Change Clusters from Version Repositories
Clusters of software artifacts that are frequently changed together are subsystem candidates, because one of the main goals of software design is to make changes local. The contribution of this paper is a visualization-based method that supports the identification of such clusters. First, we define the co-change graph as a simple but powerful model of common changes of software artifacts, and d...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Software Maintenance
دوره 5 شماره
صفحات -
تاریخ انتشار 1993